iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0
佛心分享-IT 人自學之術

區塊鏈技術應用系列 第 17

Solidity 中的匯款與支付

  • 分享至 

  • xImage
  •  

1.匯款與支付概念
* 了解如何在智能合約中進行支付(如向合約地址轉移以太幣)。
* 學習 msg.value 參數如何表示發送到合約的金額。
* msg.value:表示調用函數時附帶的以太幣數量。
2.使用 payable 關鍵字
* 了解如何使用 payable 修飾符來標識可以接收以太幣的函數。
3.轉移以太幣的方法
* 三種主要的支付方式:transfer()、send() 和 call{value: }()。
1. transfer(amount):最安全的方式,會在交易失敗時 revert。
2. send(amount):較舊的方式,如果失敗不會 revert,需手動檢查。
3. call{value: amount}(""):靈活但不太安全,需要仔細處理錯誤檢查。
4.使用 payable 關鍵字
* 了解如何使用 payable 修飾符來標識可以接收以太幣的函數。
https://ithelp.ithome.com.tw/upload/images/20240930/20169238FbirykN2sP.png
說明:
* receive() 函數是一個特殊函數,用於接收以太幣而不需要額外的邏輯。
* donate() 是一個標有 payable 的函數,這表示它可以接受以太幣。
* msg.value 表示調用該函數時附帶的以太幣數量。
* 使用 require(msg.sender == owner) 確保只有合約擁有者可以提取資金。
* payable(owner).transfer(amount) 將指定數量的以太幣轉給擁有者。
* getBalance() 函數是一個 view 函數,僅用於查詢合約中的以太幣餘額,不會改 變合約的狀態。
* address(this).balance 返回合約當前的以太幣餘額。


上一篇
Solidity 中的時間操作與區塊時間戳
下一篇
Solidity 中的代幣合約
系列文
區塊鏈技術應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言